专利摘要:
Eine Übertragungsvorrichtung weist eine Vorrichtung (102) zum Erzeugen eines Signalpaares sowie eine Vorrichtung (104) zum Erzeugen eines rückgewonnenen Datensignals auf. Die Vorrichtung (102) zum Erzeugen eines Signalpaares ist ausgebildet, um ansprechend auf einen Wert eines Umstellungssignals (158) ein erstes Datensignal (152) entweder als erstes Signal (162) oder als erstes Komplementärsignal (164) auszugeben. Die Vorrichtung (104) zum Erzeugen eines rückgewonnenen Datensignals ist wiederum ausgebildet, um ansprechend auf einen Wert des Umstellungssignals (158) das erste Signal (162) als erstes rückgewonnenes Datensignal (172) oder das erste Komplementärsignal (164) als erstes rückgewonnenes Datensignal (172) auszugeben.
公开号:DE102004001235A1
申请号:DE200410001235
申请日:2004-01-07
公开日:2005-08-11
发明作者:Thomas KÜNEMUND
申请人:Infineon Technologies AG;
IPC主号:G06F12-14
专利说明:
[0001] Dievorliegende Erfindung bezieht sich auf eine Vorrichtung zum Erzeugeneines Signalpaares, eine Vorrichtung zum Erzeugen eines rückgewonnenenDatensignals, eine Vorrichtung zur Durchführung einer Datenpfadoperationund eine Vorrichtung zum Speichern eines Signalpaares, und insbesondereauf eine Vorrichtung zum Erzeugen eines Signalpaares sowie einerVorrichtung zum Erzeugen eines rückgewonnenenDatensignals, die eine sichere Übertragungeines Datensignal übereinen Datenpfad ermöglichen.
[0002] IntegrierteSchaltungen (IC; IC = integrated circuit) die sicherheitsrelevanteAnwendungen ausführen, müssen gegenüber Angriffenvon außengeschütztwerden. Die differentielle Stromprofilanalyse (DPA; DPA = differentialpower analysis) ist eine der wichtigsten Methoden zum Angriff aufICs fürSicherheitsanwendungen sowie zur Beurteilung der Empfindlichkeitvon ICs gegenübergezielten Angriffen auf vertrauliche Informationen wie Paßwörter oderkryptographische Schlüssel.Bei der DPA wird fürein gegebenes Programm bzw. einen gegebenen Algorithmus ein gemessenesStromprofil des ICs bzw. dessen überein oder mehrere Taktzyklen berechnetes Ladungsintegral mit statistischenMethoden ausgewertet. Aus einer Korrelation einer systematischenDatenvariation und dem dazugehörigenLadungsintegral könnenfür eineVielzahl von ProgrammausführungenRückschlüsse aufdie zu schützendeInformation gezogen werden.
[0003] Häufig werdenMikroprozessoren und -controller für sicherheitsrelevante Anwendungeneingesetzt. Im Kern einer Verarbeitungseinheit moderner Mikroprozessorenund -controller, der sogenannten CPU (CPU; CPU = central processingunit), befindet sich der Datenpfad. Der Datenpfad bildet eine Zusammenschaltung sämtlicherFunktionseinheiten zur Verarbeitung von Daten innerhalb der CPU.Die Zusammenschaltung erfolgt überLeitungsbündel,sogenannte Datenbusse, und umfaßtcharakteristische Funktionseinheiten wie Multiplexer, arithmetrisch-logischeEinheit (ALU), Shifter und als Registerfiles bezeichnete Speicherschaltungen.
[0004] Einim folgenden betrachtetes Registerfile dient einerseits dem Speichernbzw. Zwischenspeichern von Adressen und Daten, die für die geradevon der CPU bearbeitete Aufgabe benötigt werden. Damit kann dasRegisterfile als ein Notizblockspeicher aufgefaßt werden. Des weiteren dientdas Registerfile zum schnellen, wahlfreien und gleichzeitigen Lesezugriffauf im allgemeinen mindestens zwei ALU-Operanden sowie einem schnellen,wahlfreien und mit Lesezugriffen gleichzeitigen Schreibzugriff.Dazu weist das Registerfile sogenannte Write Back Ports auf, diezum Zurückschreibenvon Ergebnissen bzw. Zwischenergebnissen von ALU-Rechenoperationendienen. Außerdemdient das Registerfile dem Laden sowie dem Auslagern von Adressenund Daten in sowie aus dem Registerfile. Dazu weist das RegisterfileSchreib-/Leseports auf, die der Kommunikation mit Systemteilen außerhalbdes CPU Datenpfades dienen.
[0005] Umbei einem möglichstgeringen Flächen-und Energieverbrauch all diesen Anforderungen genügen zu können, werdenRegisterfiles oft als Mehrtorspeicher, sogenannten Multi-Port RAMs(RAM; RAM = random access memory) ausgeführt. Ein RAM besteht aus über ihreBitleitungsbündelzusammengeschaltete Register, wobei ein Funktionseinheitsregisterhier definiert ist als Menge von gleichartigen sogenannten Ein-Bit-Registerzellenmit den oben aufgelisteten vier Eigenschaften des Registerfiles.Die Anzahl von Bits, die in einem Register gespeichert werden können, entsprichtim allgemeinen einer Bitbreite des Datenpfades. Die Anzahl der Portsentspricht der maximalen Anzahl von verschiedenen Zugriffen, dieauf unterschiedliche Register gleichzeitig möglich sein sollen.
[0006] 6 zeigteine Ein-Bit-Registerzelle gemäß dem Standder Technik, mit der im obigen Sinne minimalen Anzahl von vier PortsA, B, C, Z. Port A weist ein Bitleitungspaar bla, blaq sowie eineWortleitung wla auf. Port B weist ein Bitleitungspaar blb, blbqsowie eine Wortleitung wlb auf. Port Z weist ein Bitleitungspaarblzq, blz und eine Wortleitung wlz und Port C ein Bitleitungspaarblcq, blc sowie eine Wortleitung wlc auf. Über die Ports A und B werden üblicherweiseOperanden ausgelesen. ÜberPort Z wird ein Rechenergebnis zurückgeschrieben und über PortC werden Speicherinhalte von außerhalbdes Datenpfades geladen bzw. nach dort ausgelagert.
[0007] DiePorts A und B werden also als reine Leseports beschrieben. Bei niedrigemPotentialpegel der Wortleitungen wla und wlb sperren die n-Kanal-Transfertransistoren 612.Zunächstwerden die den Bitleitungspaaren bla, blaq und blb, blbq jeweilsentsprechenden Knoten auf einen hohen Potentialpegel Vdd vorgeladen unddann von der dazu pro Bitleitungspaar in der Peripherie des Registerfilesvorgesehenen Vorladevorrichtung (nicht gezeigt) abgetrennt. DieBitleitungspaare bla, blaq bzw. blb, blbq befinden sich dann nachwie vor auf hohem Potentialpegel Vdd, werden aber nicht mehr aktiv,d. h. durch leitende Verbindung mit der Versorgungsspannungsquelledort gehalten, sondern nur kapazitiv. Dieser als floating statebezeichnete Zustand wird mit (H, H) bezeichnet. Kurz danach werdendie Bitleitungspaare bla, blaq bzw. blb, blbq durch auf hohen Potentialpegelangehobene Wortleitungen wla und/oder wlb leitend verbunden mitden Knoten bit bzw. bitq innerhalb der Zelle 615. Da einerder beiden Knoten bit, bitq auf niedrigem Potential liegt, wirdauch die mit ihm über dennun geöffnetenTransfertransistor 612 leitend verbundene Bitleitung bla,blaq, blb, blbq auf niedriges Potential entladen. Damit liegen dieauszulesenden Bits auf den jeweiligen Bitleitungspaaren bla, blaqbzw. blb, blbq und könnenvon anderen Teilen des Datenpfades übernommen werden, während dieWortleitungen wla, wlb wieder auf niedriges Potential abgesenktwerden, um die Speicherzelle wieder von den Bitleitun gen abzutrennen,damit die Bitleitungen auf den folgenden Zugriff vorbereitet werdenkönnen.Ein logischer Wert 1 eines Bits entspricht einem Bitleitungspaarwert(1, 0) und ein logischer Wert 0 eines Bits entspricht einem Bitleitungspaarwert(0, 1).
[0008] DerPort Z wird als reiner Schreibport betrieben. Bei geschlossenenn-Kanal-Transfertransistoren 614 liegt die Wortleitungwlz auf niedrigem Potentialpegel, so daß die Transistoren 614 sperren.Zunächstwird ein zu schreibendes Bit von außen auf das Bitleitungspaareblz, blzq übertragen,bevor die Wortleitung wlz auf einen hohen Potentialpegel angehobenwird, wodurch wiederum die Knoten bit bzw. bitq innerhalb der Zelle 615 leitendverbunden werden mit dem Bitleitungspaar blz bzw. blzq. Ein unmittelbardanach bestehender kapazitiver Spannungsteiler mit, im Vergleichzu Kapazitäteninnerhalb der Zelle, im allgemeinen sehr großen Bitleitungskapazitäten, unterstützt durcheine äußere Schreibschaltung(nicht gezeigt) und eine Rückkopplunginnerhalb der Zelle führendann dazu, daß derzuvor in der Zelle gespeicherte Wert des Potentials mit dem an demBitleitungspaar blz, blzq anliegenden überschrieben wird. Damit kannalso die Wortleitung wlz wieder auf niedriges Potential abgesenktwerden, um die Speicherzellen wieder von den Bitleitungen zu trennen,damit letztere auf den folgenden Zugriff vorbereitet werden können.
[0009] Derin 6 gezeigten Zelle kann nicht angesehen werden,welche der Ports A, B, C, Z als Leseports und welche als Schreibportsdienen. Dies wird festgelegt durch ein von außen aufgeprägtes zeitliches Verhalten bzw.durch eine Ansteuerung von Wortleitungen wla, wlb, wlz und Bitleitungenbla, blaq, blb, blbq, blz, blzq. Dem als Schreib- und Leseport beschriebenenPort C sind daher in der Peripherie Registerfiles sowohl Vorlade-als auch Schreib- und Lesetreiberschaltungen (nicht gezeigt in 6)zugeordnet.
[0010] Üblicherweisesind Schaltnetze in ICs in einer sogenannten Single-Rail Schaltungstechnikausgeführt. Dabeiist jedes Bit einer zu verarbeitenden Information physikalisch dargestelltdurch genau einen elektrischen Knoten. Single-Rail Schaltnetze sindanfälliggegenüberDPA-Angriffen.
[0011] UmDPA-Angriffe zu verhindern, sollten ICs im Idealfall so ausgelegtsein, daß sieunabhängigvon den zu verarbeitenden Daten immer das gleiche Stromprofil liefern.Für eineSingle-Rail Datenpfad-Implementierungist dies jedoch nicht der Fall. Ein, einem zeitlichen Verlauf derZuständeeiner Schaltung zugeordnetes Ladungsintegral ist eine Funktion derjenigenKnoten bzw. elektrischen Kapazitäten,die elektrisch umgeladen werden. Eine Single-Rail Implementierungweist also eine starke Abhängigkeitauf, von den zeitlichen Änderungender zu verarbeitenden Daten.
[0012] ZurVermeidung des Problems variabler Ladungsintegrale wird die sogenanntenDual-Rail Logik zur Implementierung der Datenpfade verwendet. ImGegensatz zur herkömmlichenSingle-Rail Logik,bei der jedes Bit innerhalb eines Daten- oder Signalpfades physikalischdargestellt wird, durch genau einen elektrischen Knoten k einesSchaltnetzes oder Schaltwerkes, wird bei Implementierung mit Dual-RailLogik jedes Bit durch zwei Knoten k und kq dargestellt, wobei diesesBit einen gültigenlogischen Wert aufweist, wenn k dem wahren logischen Wert b diesesBits entspricht und kq dem negierten Wert bn =| b. Die in 6 gezeigte Registerzelle istin Dual-Rail Technik realisiert.
[0013] DiegewünschteInvarianz der Leitungsintegrale wird bei der Dual-Rail Technik dadurcherreicht, daß zwischenje zwei Zuständenmit gültigenlogischen Werten (b, bn) = (1, 0) oder (0, 1) ein sogenannter Vorlade-Zustand,auch Precharge genannt, eingefügtist. Bei diesem Vorlade-Zustand werden sowohl k als auch kq aufdasselbe elektrische Potential geladen und nehmen somit logischungültigeWert von (1, 1) oder (0, 0) an. Für einen Vorlade-Zustand (1,1) könntealso eine Zustandsfolge aussehen wie folgt: (1, 1) → (0, 1) → (1, 1) → (1, 0) → (1, 1) → (1, 0) → (1, 1) → (0, 1) → ...,
[0014] Für eine jedebeliebige solcher Zustandsfolgen gilt, daß bei einem jeden Übergang(1, 1) → (b,bn) genau ein Knoten von 1 nach 0 umgeladen wird, und für alle (b,bn) → (1,1) genau ein Knoten von 0 nach 1, unabhängig vom logisch gültigen Wertb des in Frage stehenden Zustandsbits.
[0015] Analogesgilt fürZustandsfolgen mit dem Vorladezustand (0, 0).
[0016] Darausaber folgt, daß diediesen Zustandsfolgen entsprechenden Ladungsintegrale unabhängig sind vonder Abfolge (b, bn) der logisch gültigen Werte, falls nur dafür Sorgegetragen wird, daß dieKnoten k und kq gleiche elektrische Kapazitäten aufweisen. Das Stromprofileines so implementierten Datenpfades hängt also nicht ab von zeitlichenVariationen der zu verarbeitenden Daten. Es ist somit gegenüber DPA-Angriffen resistent.In realen Schaltungen weisen die Knoten k und kq jedoch üblicherweiseungleiche Kapazitätenauf.
[0017] 7 zeigt einen Datenpfadbestehend aus zwei Signalleitungspaaren 702, 704.Der Datenpfad ist in Dual-Rail Technik ausgeführt. Das bedeutet, daß das Leitungspaar 702 eineSignalleitung x und eine zu der Signalleitung x komplementäre Signalleitungxq aufweist. Ebenso weist das Leitungspaar 704 eine Signalleitungy und eine zu der Signalleitung y komplementäre Signalleitung yq auf. DieSignalleitungspaare (x, xq) und (y, yq) weisen mit C(*) bezeichneteKapazitäten 712, 714, 716, 718 zueinem festen Potential sowie mit C(*,#) bezeichnete Koppelkapazitäten 722, 724, 726 zwischenden Signalleitungen x, xq, y, yq auf. In 7 sind nur die Koppelkapazitäten 722, 724, 726 zwischenbenachbarten Signalleitungen x, xq, y, yq dargestellt. Die Signalleitungx weist die KapazitätC(x) 712, die Signalleitung xq weist die Kapazität C(xq) 714,die Signalleitung y weist die Kapazität C(y) 716 und dieSignalleitung yq weist die Kapazität C(yq) 718 auf. DieSignalleitungen x, xq sind überdie KoppelkapazitätC(x, xq) 722, die Signalleitungen xq, y sind über dieKoppelkapazitätC(xq, y) 724 und die Signalleitungen y, yq über dieKoppelkapazitätC(y, yq) 726 verbunden.
[0018] Abhängig voneinem Vorladezustand und einem nachfolgenden logisch gültigen Zustandmüsseneinige der genannten Kapazitätenumgeladen werden. In der nachfolgenden Tabelle sind diejenigen Summen vonKapazitätenangegeben, die bei einem Übergangvon einem Vorladezustand (0, 0) in die logisch gültigen Zustände (0, 1) oder (1, 0) aufgeladenwerden:
[0019] Ausder obigen Tabelle ist zu entnehmen, daß für Koppelkapazitäten C(*,#) > 0, d. h. für Koppelkapazitäten 722, 724, 726 diesich von 0 unterscheiden und/oder Kapazitäten C(*) ≠ C(*q), das bedeutet für ungleicheKapazitäten 712, 714 desersten Leitungspaares 702 sowie für ungleiche Kapazitäten 716, 718 deszweiten Leitungspaares 704, sich datenabhängige Kapazitätssummen ΔC und somitdatenabhängigeLadungsintegrale ergeben.
[0020] SolchedatenabhängigeKapazitätssummenund Ladungsintegrale könnenweiterhin fürDPA-Angriffe genutzt werden. Die Dual- Rail Technik bietet somit keinen wirksamenSchutz gegenüberDPA-Angriffen.
[0021] EineReduzierung des Problems datenabhängiger effektiver Koppelkapazitäten, dieeine DPA-Analyse ermöglichen,lässt sichmittels einer in bestimmten Abständenim Layout vorgenommenen physikalischen Vertauschung einer Anordnungvon Bitleitungen erreichen. Diese als Auskreuzen von Bitleitungenbezeichnete Technik wird vor allem in DRAMs eingesetzt. Dadurchläßt sicheine Datenabhängigkeiteffektiver Koppelkapazitätenreduzieren. Eine Datenabhängigkeitvon Leitungskapazitätengegenübereinem festen Potential bleibt jedoch bestehen. Durch das Auskreuzenlässt sichsomit eine DPA-Analyse nicht verhindern. Ein weiterer Nachteil desAuskreuzens besteht in dem erheblichen Flächenaufwand, den diese Maßnahme erfordert.
[0022] Esist die Aufgabe der vorliegenden Erfindung, eine Vorrichtung zumErzeugen eines Signalpaares, eine Vorrichtung zum Erzeugen einesrückgewonnenenDatensignals, eine Vorrichtung zur Durchführung einer Datenpfadoperationund eine Vorrichtung zum Speichern eines Signalpaares zu schaffen,die eine sichere Übertragungund Verarbeitung von Daten ermöglichen.
[0023] DieseAufgabe wird durch eine Vorrichtung zum Erzeugen eines Signalpaaresgemäß Anspruch1, eine Vorrichtung zum Erzeugen eines rückgewonnenen Datensignals gemäß Anspruch3, eine Vorrichtung zur Durchführungeiner Datenpfadoperation gemäß Anspruch8 und eine Vorrichtung zum Speichern eines Signalpaares gemäß Anspruch10 gelöst.
[0024] Dievorliegende Erfindung schafft eine Vorrichtung zum Erzeugen einesSignalpaares aus einem Datensignal gemäß einer, von einem UmstellungssignalwertabhängigenUmstellungsvorschrift, mit folgenden Merkmalen: einem erstenDatensignaleingang zum Empfangen eines ersten Datensignals; einemersten Umstellungssignaleingang zum Empfangen eines ersten Umstellungssignals; einemersten Signalausgang zum Ausgeben eines ersten Signals; und einemersten Komplementärsignalausgangzum Ausgeben eines ersten Komplementärsignals, wobei das erste Signalund das erste Komplementärsignalein erstes Signalpaar bilden; und wobei die Vorrichtung ausgebildetist, um gemäß der Umstellungsvorschriftdas erste Datensignal als erstes Signal und ein komplementäres erstesDatensignal als erstes Komplementärsignal auszugeben, wenn das ersteUmstellungssignal einen ersten Wert aufweist, und das ersteDatensignal als erstes Komplementärsignal und das komplementäre ersteDatensignal als erstes Signal auszugeben, wenn das erste Umstellungssignaleinen zweiten Wert aufweist.
[0025] Dievorliegende Erfindung schafft ferner eine Vorrichtung zum Erzeugeneines rückgewonnenenDatensignals aus einem Signalpfad gemäß einer, von einem Umstellungssignalwertabhängigenkomplementären Umstellungsvorschrift,mit folgenden Merkmalen: einem ersten Signaleingang zum Empfangeneines ersten Signals; einem ersten Komplementärsignaleingangzum Empfangen eines ersten Komplementärsignals, wobei das erste Komplementärsignalkomplementärzu dem ersten Signal ist, und wobei das erste Signal und das erste Komplementärsignalein erstes Signalpaar bilden; einen ersten Umstellungssignaleingangzum Empfangen eines ersten Umstellungssignals; und einen erstenDatensignalausgang zum Ausgeben eines ersten rückgewonnenen Datensignals; wobeidie Vorrichtung ausgebildet ist, um gemäß der komplementären Umstellungsvorschrift,das erste Signal als rückgewonnenesDatensignal auszugeben, wenn das erste Umstellungssignal einen erstenWert aufweist, und das erste komplementäre Signal als rückgewonnenesDatensignal auszugeben, wenn das erste Umstellungssignal einen zweitenWert aufweist.
[0026] DerErfindung liegt die Erkenntnis zugrunde, daß sich ein Datensignal über einkomplementäresSignalleitungspaar sicher übertragenläßt, wenndas Datensignal abhängigvon einem Umstellungssignalwert auf der Signalleitung des Signalleitungspaaresoder der komplementärenSignalleitung des Signalleitungspaares übertragen wird. Die Funktionvon Signalleitung und komplementärerSignalleitung wird erfindungsgemäß, abhängig vondem Umstellungssignalwert vertauscht.
[0027] DerUmstellungssignalwert ist dabei vorzugsweise unabhängig vondem Datensignal. Gemäß einem bevorzugtenAusführungsbeispielweist das Umstellungssignal zufallsgesteuert sowie zeitgesteuertden ersten Wert oder den zweiten Wert auf.
[0028] DerUmstellungssignalwert wird sowohl der Vorrichtung zum Erzeugen einesSignalpaares als auch der Vorrichtung zum Erzeugen eines rückgewonnenenDatensignals bereitgestellt. Dadurch ist es möglich, ein Datensignal in derVorrichtung zum Erzeugen eines Signalpaares in ein Signalpaar zuwandeln und späterin einer Vorrichtung zum Erzeugen eines rückgewonnenen Datensignals rückzugewinnen.Unabhängigdavon ob das Datensignal, gemäß dem Umstellungssignalwert über dieSignallei tung oder die komplementäre Signalleitung übertragenwurde, wird der wahre Wert des Datensignals in der Vorrichtung zumErzeugen eines rückgewonnenenDatensignals zurückgewonnen.
[0029] Durcheine bevorzugterweise zufallsgesteuerte Vertauschung der Rollenvon Signal und Komplementärsignalbeim Übertragenvon Datensignalen auf einem Datenpfad zwischen der Vorrichtung zumErzeugen eines Signalpaares und der Vorrichtung zum Erzeugen einesrückgewonnenenDatensignals wird erreicht, daß sichfür eineVielzahl logisch identischer Programmabläufe eines Gesamtsystems einEinfluß kapazitiverUnsymmetrien der Signalleitung und der komplementären Signalleitungsowie von Koppelkapazitätenzwischen Signalleitungspaaren und deren jeweiligen physikalischbenachbarten Signalleitungen auf ein Ladungsintegral der betrachtetenVerarbeitungszyklen im statistischen Mittel aufhebt. Mithin wirddie Relevanz kapazitiver Unsymmetrien und Kopplungskapazitäten einesDatenpfades oder Bussystems fürDPA-Angriffe eliminiert.
[0030] Dererfindungsgemäße Ansatzeignet sich besonders zum Einsatz in integrierten Schaltungen, deren Datenpfadein Dual-Rail Technik ausgeführtsind und in Precharge Technik arbeiten. In Datenverarbeitungssystemen,die eine Mehrzahl von ICs aufweisen, lässt sich der erfindungsgemäße Ansatzzur sicheren Übertragungvon Daten zwischen den ICs einsetzen.
[0031] Dererfindungsgemäße Ansatzist in digitaler Logik implementierbar, weist einen geringen Platzbedarf aufund ermöglichtsomit eine kostengünstigeund zuverlässigeMethode zur Verhinderung von DPA-Angriffen auf sicherheitsrelevanteSchaltkreise. Auch in nicht-sicherheitsrelevanten Anwendungen kanndie vorliegende Erfindung vorteilhaft eingesetzt werden, um nachteiligeEffekte kapazitiver Unsymmetrien zu vermeiden.
[0032] Fernerwird die vorliegende Erfindung vorteilhaft in Verbindung mit funktionalenEinheiten eines Mikroprozessors oder anderer datenverarbeitenderSchaltungen eingesetzt. Der er findungsgemäße Ansatz ermöglicht einesichere Übertragungvon Datensignalen zu den funktionalen Einheiten. Dabei wird zusätzlich ein,für eineDPA-Analyse verwendbarer, Einfluß von Verdrahtungen der funktionalenEinheiten eliminiert.
[0033] Gemäß einembevorzugten Ausführungsbeispielwerden die zu übertragendenDaten einer Datenpfadoperation (DPO; DPO = data path operation)unterworfen. Um die durchgeführteDatenpfadoperation bei der Rückgewinnungdes Datensignals in einer Vorrichtung zum Erzeugen eines rückgewonnenenDatensignals zu berücksichtigen,weist die Vorrichtung zum Erzeugen eines rückgewonnenen Datensignals indiesem Ausführungsbeispieleine Einrichtung zum Anpassen der komplementären Umstellungsvorschrift andie durchgeführteDatenpfadoperation auf.
[0034] Gemäß einemweiteren bevorzugten Ausführungsbeispielwird der erfindungsgemäße Ansatzfür eine Implementierungeines Speichers eingesetzt. Der Speicher ist ausgebildet, um einvon einer Vorrichtung zum Erzeugen eines Signalpaares bereitgestelltesSignalpaar zu speichern. Um eine Rückgewinnung des Datensignalszu ermöglichen,weist die Speichervorrichtung eine zusätzliche Speichereinrichtungzum Speichern des Umstellungssignalwertes auf.
[0035] BevorzugteAusführungsbeispieleder vorliegenden Erfindung werden nachfolgend anhand beiliegenderZeichnungen nähererläutert.Es zeigen:
[0036] 1 eineschematische Darstellung einer Übertragungsvorrichtunggemäß der vorliegendenErfindung;
[0037] 2 eineschematische Darstellung einer Vorrichtung zur Durchführung einerDatenpfadoperation gemäß einemweiteren bevorzugten Ausführungsbeispielder vorliegenden Erfindung;
[0038] 3 eineschematische Darstellung einer Vorrichtung zum Speichern eines Signalpaaresgemäß einemweiteren bevorzugten Ausführungsbeispielder vorliegenden Erfindung;
[0039] 4 eineschematische Darstellung einer Einrichtung zum Speichern eines Signalpaaresgemäß einemweiteren Ausführungsbeispielder vorliegenden Erfindung;
[0040] 5 eineschematische Darstellung einer Einrichtung zum Speichern eines Signalpaaresgemäß einemweiteren Ausführungsbeispielder vorliegenden Erfindung;
[0041] 6 einSchaltbild einer Speicherzelle gemäß dem Stand der Technik; und
[0042] 7 eineschematische Darstellung eines in Dual-Rail-Technik ausgeführten Bussystems gemäß dem Standder Technik.
[0043] 1 zeigteine schematische Darstellung einer Übertragungsvorrichtung, dieeine erfindungsgemäße Vorrichtung 102 zumErzeugen eines Signalpaares und eine erfindungsgemäße Vorrichtung 104 zumErzeugen eines rückgewonnenenDatensignals aufweist. Ferner weist das Bussystem eine Einrichtung 106 zum Erzeugeneines Umstellungssignals auf. Die Vorrichtung 102 zum Erzeugeneines Signalpaares weist einen Datensignaleingang 112 sowieeinen Umstellungssignaleingang 116 auf. Ferner weist dieVorrichtung 102 zum Erzeugen eines Signalpaares einen Signalausgang 122 undeinen Komplementärsignalausgang 124 auf.Die Vorrichtung 104 zum Erzeugen eines rückgewonnenenDatensignals weist einen Signaleingang 132 und einen Komplementärsignaleingang 134 sowieeinen Umstellungssignaleingang 116' auf. Die Vorrichtung 104 zum Erzeugeneines rückgewonnenenDatensignals weist ferner einen Datensignalausgang 142 auf.
[0044] Über diegezeigte Übertragungsvorrichtungwird ein Datensignal 152 übertragen. Das Datensignal 152 ist über denDatensignaleingang 112 mit der Vorrichtung 102 zumErzeugen eines Signalpaares verbunden. Die Vorrichtung 102 zumErzeugen eines Signalpaares ist ausgebildet, um gemäß einerUmstellungsvorschrift aus dem Datensignal 152 ein Signalpaar,bestehend aus einem Signal 162 und einem Komplementärsignal 164,zu bilden. Hat das Signal 162 den Wert logisch „0", so weist das Komplementärsignal 164 denWert logisch „1" auf. Hat das Signal 162 denWert logisch „1", so weist das Komplementärsignal 164 denWert logisch „0" auf.
[0045] DasSignal 162 und das Komplementärsignal 164 werdenvon der Vorrichtung 102 zum Erzeugen eines Signalpaaresan dem Signalausgang 122 und dem Komplementärsignalausgang 124 bereitgestelltund werden von der Vorrichtung 104 zum Erzeugen eines rückgewonnenenDatensignals an dem Signaleingang 132 und dem Komplementärsignaleingang 134 empfangen.Die Vorrichtung 104 zum Erzeugen eines rückgewonnenenDatensignals ist ausgebildet, um, gemäß einer komplementären Umstellungsvorschrift,aus dem Signalpaar, bestehend aus dem Signal 162 und demKomplementärsignal 164 einrückgewonnenesDatensignal 172 zu bilden und an dem Datensignalausgang 142 auszugeben.
[0046] DieEinrichtung 106 zum Erzeugen eines Umstellungssignals istausgebildet, um ein Umstellungssignal 158 bereitzustellen,das von der Vorrichtung 102 zum Erzeugen eines Signalpaaresan dem Umstellungssignaleingang 116 und von der Vorrichtung 104 zumErzeugen eines rückgewonnenenDatensignals an dem Umstellungssignaleingang 116' empfangen wird.
[0047] Bevorzugterweiseist die Einrichtung 106 zum Erzeugen eines Umstellungssignalsausgebildet, um das Umstellungssignal 158 zufallsgesteuertbereitzustellen. Das Umstellungssignal 158 weist dabeizufallsgesteuert einen ersten Wert oder einen zweiten Wert auf.In diesem Ausführungsbeispielweist das Umstellungssignal 158 entweder den Wert logisch „0" oder den Wert logisch „1" auf. Die Vorrichtung 102 zumErzeugen eines Signalpaares ist ausgebildet, um das Datensignal 152 gemäß der Umstellungsvorschriftals Signal 162 oder als Komplementärsignal 164 bereitzustellen.Weist das Umstellungssignal 158 den ersten Wert auf, so schaltetdie Vorrichtung 102 zum Erzeugen eines Signalpaares dasDatensignal 152 auf den Signalausgang 122 durch.An dem Komplementärsignalausgang 124 stelltdie Vorrichtung 102 zum Erzeugen eines Signalpaares einzu dem Signal 162 komplementäres Signal 164 bereit.Demzufolge wird das Datensignal 152 in Abhängigkeitvon dem Umstellungssignal 158 entweder an dem Signalausgang 122 oderdem Komplementärsignalausgang 124 ausgegeben.Wird das Umstellungssignalwert 158 zufallsgesteuert generiert,so erfolgt die Ausgabe des Datensignals 152 als Signal 162 oderals Komplementärsignal 164 ebenfallszufallsgesteuert und ist somit nicht vorhersagbar.
[0048] Entsprechendzu den in 7 erläuterten Kapazitäten, weisendie in 1 gezeigten Leitungen des Signals 162 unddes Komplementärsignals 164 sowiejeweils benachbarte Signale und Komplementärsignale (nicht gezeigt) ebenfallsKapazitätengegenübereinem festen Potential sowie Koppelkapazitäten auf. Die genannten Kapazitäten sindin 1 nicht gezeigt. Die bei einem Umschaltvorgangumzuladende Gesamtkapazitätist gemäß der vorliegendenErfindung nicht nur von den Kapazitätswerten und einem durchgeführten Datensignalumschaltvorgangabhängig,sondern zudem noch von dem Wert des Umstellungssignals 158.Dies resultiert daraus, daß gesteuertdurch das Umstellungssignal 158 das Signal 162 mitdem Komplementärsignal 164 vertauschtwird. Erfolgt die Erstellung des Umstellungssignals 158 zufallsgesteuertso ist eine Zuordnung einer Gesamtkapazität nicht mehr zu einem Datensignalumschaltvorgangzuordenbar. Ein DPA-Angriff auf die Leitungen des Signals 162 unddes Komplementärsignals 164 istsomit nicht durchführbar.
[0049] Nacheiner Übertragungdes Signals 162 und des Komplementärsignals 164 über denDatenpfad erfolgt eine Rückumstellung derSignale in der Vorrichtung 104 zum Erzeugen eines rückgewonnenenDatensignals. Da die Vorrichtung 104 zum Erzeugen einesrückgewonnenenDatensignals ebenfalls mit dem Umstellungssignal 158 verbundenist, ist eine Rückumstellung,entgegengesetzt zu der Umstellung, die in der Vorrichtung 102 zumErzeugen eines Signalpfades durchgeführt wurde, möglich. Entsprechendder oben beschriebenen Umstellung in der Vorrichtung 102 zumErzeugen eines Signalpaares ist die Vorrichtung 104 zum Erzeugeneines rückgewonnenenDatensignals ausgebildet, um ansprechend auf einen ersten Wert desUmstellungssignals 158 das Signal 162 als rückgewonnenesDatensignal 172 auszugeben.
[0050] DasrückgewonneneDatensignal 172 entspricht somit dem Datensignal 152.Die Vorrichtungen 102 zum Erzeugen eines Signalpaares unddie Vorrichtung 104 zum Erzeugen eines rückgewonnenenDatensignals ermöglichengemäß der vorliegendenErfindung, das Datensignal 152 über einen Datenpfad zu übertragen,ohne daß einDAP-Angriff auf die Übertragungsstreckedes Datenpfades möglichist.
[0051] Gemäß dem in 1 gezeigtenAusführungsbeispielsind die Datensignale 152, 172 in Single-Rail Technikausgeführtund die Signale 162, 164 in Dual-Rail Technik,bevorzugterweise mit precharge Technik, ausgeführt.
[0052] Gemäß einemweiteren Ausführungsbeispielwerden die Datensignale ebenfalls in Dual-Rail Technik ausgeführt.
[0053] Diein 1 gezeigte Übertragungsvorrichtungist Teil eines Datenbusses. Abweichend von dem gezeigten Ausführungsbeispielkann der Datenbus, eine beliebige Anzahl von Datensignalen aufweisen.Bei einer Vielzahl von Datensignalen ist es vorteilhaft, einzelneDatensignale in Gruppen zusammenzufassen und für jede Gruppe einen eigenenUmstellungssignalwert bereitzustellen. Weist der Datenbus also zumBeispiel zwei Datensignalgruppen auf, so werden bevorzugterweisezwei Umstel lungssignalwerte in Form zweier unabhängiger, zeitabhängiger Zufallsbitsbereitgestellt.
[0054] 2 zeigteine Vorrichtung zur Durchführungeiner Datenpfadoperation gemäß einemweiteren bevorzugten Ausführungsbeispiel.Die Vorrichtung zur Durchführungeiner Datenpfadoperation weist eine Vorrichtung zum Erzeugen einesSignalpaares 202 in Form einer Multiplexer-Schaltung Mxin, eine Vorrichtung 204 zum Erzeugeneines rückgewonnenenDatensignals in Form einer Multiplexer-Schaltung Mxout sowieeine Einrichtung 208 zum Durchführen einer Datenpfadoperationund eine Einrichtung 209 zum Anpassen des Umstellungssignalsauf. In diesem Ausführungsbeispielist die Einrichtung 208 zum Durchführen einer Datenpfadoperationeine Schiebeeinheit. Anstelle einer Schiebeeinheit, die eine Schiebeoperationdurchführt,kann die Einrichtung 208 zum Durchführen einer Datenpfadoperationauch eine beliebige andere Funktionseinheit darstellen, die in einemDatenpfad einsetzbar ist.
[0055] DieMultiplexer-Schaltung 202 ist ausgebildet zum Empfangeneines Datensignals 252 sowie eines zu dem Datensignal 262 komplementären Datensignals 253.Ferner ist die Multiplexer-Schaltung 202 ausgebildet zumEmpfangen eines Umstellungssignals 258 und zum Ausgebeneines Signals 262 sowie eines Komplementärsignals 264.Entsprechend der in 1 beschriebenen Vorrichtungzum Erzeugen eines Signalpaares ist die Multiplexer-Schaltung 202 ausgebildet,um ansprechend auf einen Wert des Umstellungssignals 258 dasDatensignal 252 entweder als Signal 262 oder alsKomplementärsignal 264 auszugeben.Abhängigvon einem Wert des Umstellungssignals 258 vertauscht dieMultiplexer-Schaltung 202 somit die Rollen der Signale 262, 264.
[0056] DieEinrichtung 208 zum Durchführen einer Datenpfadoperationist ausgebildet zum Empfangen des Signals 262 und des Komplementärsignals 264.Abhängigvon einem Datenpfadsteuersignal 259 ist die Einrichtung 208 zumDurchführeneiner Datenpfad operation ausgebildet um eine Datenpfadoperationdurchzuführenund entsprechend dieser Operation ein Ausgangssignal 266 undein komplementäresAusgangssignal 268 bereitzustellen.
[0057] DerMultiplexer 204 ist ausgebildet zum Empfangen des Ausgangssignals 266 sowiedes komplementärenAusgangssignals 268 sowie zum Ausgeben eines rückgewonnenenDatensignals 272 sowie eines rückgewonnenen komplementären Datensignals 273.Dazu empfängtder Multiplexer 204 ein Umstellungssignal 258'. Das Umstellungssignal 258' wird von derEinrichtung 209 zum Anpassen des Umstellsignals bereitgestellt.Die Vorrichtung 209 zum Anpassen des Umstellsignals istausgebildet, um das Umstellsignal 258' entsprechend der in der Einrichtung 208 zumDurchführeneiner Datenpfadoperation durchgeführten Datenpfadoperation anzupassen.Dazu empfängtdie Einrichtung 209 zum Anpassen des Umstellsignals sowohldas Umstellungssignal 258 als auch das Datenpfadsteuersignal 259 underzeugt daraus das Umstellungssignal 258'.
[0058] Gemäß dem in 2 gezeigtenAusführungsbeispielstellt das Datensignalpaar 252, 253 ein Datensignalpaareines Datensignalpaarbusses der Breite w dar. Das Datensignal 252,im folgenden als din bezeichnet, steht für eine Mehrzahln, n = w – 1,w – 2,... 0, von Datensignalen din < n > und das komplementäre Datensignal 253,im folgenden als dqin bezeichnet, stehtfür eineMehrzahl n von komplementärenDatensignalen dqin < n >.Ebenso steht das Signalpaar 262, 264, im folgendenals (slin, slqin)bezeichnet füreine Mehrzahl n von Signalpaaren (slin < n >, slqin < n >), sowie das Ausgangssignalpaar266, 268, im folgenden als (slout, slqout) bezeichnet für eine Mehrzahl n von Ausgangssignalpaaren(slout < n >, slqout < n >) und das rückgewonnene Signalpaar 272, 273,im folgenden als (dout, dqout)bezeichnet, füreine Mehrzahl n von rückgewonnenenAusgangssignalpaaren (dout < n >, dqout < n >).
[0059] Entsprechenddes in 1 beschriebenen Ausführungsbeispieles sind die Signalleitungspaare(slin, slqin), (slout, slqout) Teileeines Datenpfades, der in diesem Ausführungsbeispiel zusätzlich eineEinrichtung 208 zum Durchführen einer Datenpfadoperationaufweist. Gemäß diesemAusführungsbeispielist die Einrichtung 208 zum Durchführen einer Datenpfadoperationein Schiebeeinheit in Form eines Shifters. Eine Verdrahtung (nichtgezeigt) von der Einrichtung 208 zum Durchführen einerDatenpfadoperation zu den Signalleitungspaaren (slin,slqin), (slout,slqout) bzw. die Signalleitungspaare (slin, slqin) (slout, slqout) selber,weisen signifikante Koppelkapazitäten sowie kapazitive Unsymmetrienzwischen einer Signalleitung sl und deren komplementärer Signalleitungslq auf. Die Bezeichnung sl steht im folgenden sowohl für die Signalleitungslin sowie für die Ausgangssignalleitungslout und die Bezeichnung slq für die komplementäre Signalleitungslqin und die komplementäre Ausgangssignalleitung slgout. Die genannten Kapazitäten sindin 2 nicht gezeigt. Wie anhand von 7 beschrieben,ermöglichendie Kapazitätenzwischen den Signalen sl und slq eine DPA-Analyse der Vorrichtungzur Durchführungeiner Datenpfadoperation. Erfindungsgemäß wird eine solche DPA-Analysedurch eine zufallsgesteuerte bedingte Permutation der Bedeutungder Signale sl und slq eines einzelnen physikalischen Signalleitungspaares(sl, slq) verhindert. Dies geschieht dergestalt bzw. unter der Bedingung,daß eine logisch-arithmetischeFunktion, die in einem Teil des Datenpfades durchgeführt wird,durch diese Permutationen unverändertbleibt. Dazu wird ohne Beschränkungder Allgemeinheit angenommen daß dieSignalleitungspaare (sl < n >, slq < n >), wobei n = w – 1, w – 2, ...,0, und w eine Wortweite des Datenpfades ist, physikalisch, alsoim Layout, entsprechend ihrer Wertigkeit n angeordnet sind, so daß die nächsten Nachbarnvon Signalleitungspaaren mit geraden n = 2j bestehen in solchenmit ungeraden n = 2j + 1 sowie n = 2j – 1 und umgekehrt. Ausgenommendavon sind die höchstwertigenbzw. niedrigwertigen Signalleitungspaare mit n = w – 1 bzw.n = 0.
[0060] ImFolgenden wird das Ausführungsbeispielder Einrichtung 208 zum Durchführeneiner Datenpfadoperation in Form einer Schie beeinheit näher betrachtet.Beim Verarbeiten von Daten din < w – 1: 0 > an den eingangsseitigenSignalleitungspaaren (slin < n >, slqin < n >) der Schiebeeinheit 208,werden Datenbits gerader Wertigkeit din < 2j > bzw. ungerader Wertigkeitdin < 2j+ 1 > verschiedenbehandelt. Überdie Multiplexer-Schaltung 202 Mxin vor den Signalleitungen (slin < n >, slqin < n >) werden in diesemAusführungsbeispiel,abhängig voneinem Zeitpunkt ts eines Verarbeitungsvorgangesder Datensignale din, durch geeignet erzeugtebzw. vorliegende Zufallsbits rndbit-evn(ts)und rndbit-odd(ts) auf dem Umstellungssignal 258,die Signalleitungspaare slin, slqin wie folgt angesteuert: (slin<n>, slqin<n>) <= (din<n>, dqin<n>)) für rndbit-x(ts),=0 (slin<n>, slqin<n>) <= (not (din<n>), not (dqin<n>)) für rndbit-x(ts),=1wobei x = evn für n = 2j und x = odd für n = 2j+ 1 gilt.
[0061] DasUmstellungssignal 258 weist in diesem Ausführungsbeispielsomit den Wert rndbit – xauf, der entweder den logischen Wert „0" oder den logischen Wert „1" aufweist. Das Umstellungssignalweist in diesem Ausführungsbeispieleine zufallsgesteuerte Komponente rndbit und eine zeitgesteuerteKomponente x(ts) auf. Der Zufallswert rndbitwird vorzugsweise durch einen Zufallszahlengenerator (nicht gezeigt)bereitgestellt. Die Zeitgesteuerte Komponente wird über einZeitsignal (nicht gezeigt) gesteuert. Das Zeitsignal kann ein Taktsignalsein, mit dem eine Einrichtung zum Erzeugen des Umstellungssignalsverbunden ist. Alternativ kann eine Zeitsteuerung von einer Anzahlempfangener Datensignale abhängigsein. Analog zu der Multiplexer-Schaltung 202 werden über dieMultiplexer-Schaltung 204 Mxout ausdem Ausgangssignal slout, slqout dierückgewonnenenDatensignale dout, dqout zurückgewonnen.Dazu werden die oben angegebenen bedingten Permutationen wiederrückgängig gemacht.Dies erfolgt vermögeeiner be stimmten Funktion FDPO n {rndbit – evn(ts), rndbit – odd(ts)}des Wertes des Umstellungssignals 258, der zur eingangsseitigenPermutation in der Multiplexer-Schaltung 202 verwendetwurde, so daß amAusgang der Multiplexer-Schaltung 204 immer der aus din<w-1:0> folgende wahre logischeWert dout <w –1:0> zu liegen kommt. Diesbedeutet: (dout <n>, dqou<n) <= (slout<n>, slqout<n>) für FDPO n, = 0, (dout<n>, dqout<n>) <= (not (slout<n>), notslqout<n>)) für FDPO n, = 1
[0062] Dabeihängt eineGestalt von FDPO n abvon den Datenpfadoperationen, die in dem in Frage stehenden Teildes Datenpfades, der Einrichtung 208 zur Durchführung einerDatenpfadoperation ausgeführtwerden. In dem Ausführungsbeispielist die Datenpfadoperation eine Schiebeoperation mit einer variablenAnzahl sft von Bitpositionen, um die Eingangsdaten der Schiebeeinheit 208 geschobenwerden können.Der Wert sft wird der Schiebeeinheit über das Datenpfadsteuersignal 259 bereitgestellt.Somit gilt mit DPO = sft: Fsft 2j = rndbit – evn (ts)für geradeWerte von sft Fsft 2j =rndbit – odd(ts) fürungerade Werte von sft, und Fsft 2j+1 = rndbit – odd (ts)für geradeWerte von sft und Fsft 2j+1 =rndbit – evn(ts) fürungerade Werte von sft
[0063] DieFunktion FDPO wird in der Einrichtung 209 zumAnpassen des Umstellungssignales erzeugt und über das Umstellungssignal 258' an die Multiplexer-Schaltung 204 bereitgestellt.
[0064] Durchdie anhand von 2 beschriebene von ZufallsbitsabhängigeVertauschung der Rollen von sl und slq beim Verarbeiten von Datenwörtern din, dqin wird erreicht,daß sich,für eineVielzahl logisch identischer Programmabläufe eines Ge samtsystems, derEinfluß kapazitiverUnsymmetrien von den Signalleitungen sl, slq sowie der Koppelkapazitäten zwischenden Signalleitungen sl und slq und deren jeweiligen physikalisch benachbartenLeitungen auf das Ladungsintegral der betrachteten Verarbeitungszyklenim statistischen Mittel aufhebt. Mithin wird also die Relevanz dieserkapazitiven Unsymmetrie und Koppelkapazitäten für DPA-Angriffe eliminiert.
[0065] 3 zeigteine schematische Darstellung einer Vorrichtung zum Speichern einesSignalpaares gemäß einembevorzugten Ausführungsbeispielder vorliegenden Erfindung. Die Vorrichtung zum Speichern einesSignalpaares weist eine Vorrichtung 302 zum Erzeugen einesSignalpaares, eine Vorrichtung 304 zum Erzeugen eines rückgewonnenenDatensignals sowie eine Einrichtung 308 zum Speichern einesSignalpaares und eine Einrichtung 309 zum Speichern einesUmstellungssignalwertes auf. Entsprechend des in 1 beschriebenenAusführungsbeispielsist die Vorrichtung 302 zum Erzeugen eines Signalpaaresausgebildet, um ein erstes Datensignal 352 ansprechendauf einen Wert eines Umstellungssignals 358 als erstesSignal 362 bzw. als erstes Komplementärsignal 364 auszugeben.Das erste Signalpaar 362, 364 wird in der Einrichtung 308 zumSpeichern eines Signalpaares gespeichert und wird von der Einrichtung 308 zumSpeichern eines Signalpaares bei einem Auslesevorgang als erstesgespeichertes Signal 366 und erstes gespeichertes Komplementärsignal 368 ausgegeben.Entsprechend dem Ausführungsbeispielin 1 ist die Vorrichtung 304 zum Erzeugeneines rückgewonnenenDatensignals wiederum ausgebildet um entweder das erste gespeicherteSignal 366 oder das erste gespeicherte Komplementärsignal 368 alserstes rückgewonnenesDatensignal 372 auszugeben. Dazu ist es erforderlich, daß die Vorrichtung 304 zumErzeugen eines rückgewonnenen Datensignalsden Wert des Umstellungssignals 358 erhält, mit dem das ersten Datensignal 352 inder Vorrichtung 302 zum Erzeugen eines Signalpaares umgestelltwurde. Dazu wird der Wert des Umstellungssignals 358 inder Einrichtung 309 zum Speichern eines Umstellungssignalsgespeichert und parallel zur Ausgabe des ersten gespeicherten Signalpaares 366, 368 alsgespeichertes Umstellungssignal 358' an die Vorrichtung zum Erzeugeneines rückgewonnenenDatensignals ausgegeben.
[0066] Diein 3 gezeigte Vorrichtung zum Speichern eines Signalpaaresermöglichtes somit, ein erstes Datensignal 352 in einer Speichereinrichtungzu speichern und wieder auszulesen. Die Eingangssignale 362, 364 unddie Ausgangssignale 366, 368 der Einrichtung 308 zumSpeichern eines Signalpaares sind dabei wiederum durch die erfindungsgemäße Vorrichtung 302 zumErzeugen eines Signalpaares vor einem DPA-Angriff geschützt.
[0067] 4 zeigtein bevorzugtes Ausführungsbeispieleiner Vorrichtung zum Speichern eines Signalpaares in Form einessogenannten Single-Port Speichers, wie er für RAMs oder Cache-Speicher verwendetwird. Aus Gründender Übersichtlichkeitsind in 4 lediglich zwei Speicherzellengezeigt, die jedoch stellvertretend für eine Mehrzahl von Speicherzellenstehen. Entsprechend dem in 3 gezeigtenAusführungsbeispielweist der Single-Port Speicher eine Vorrichtung zum Erzeugen einesSignalpaares und eine Vorrichtung zum Erzeugen eines rückgewonnenenDatensignals auf. Beide Vorrichtungen sind in einer Multiplexer-Schaltung 403 angeordnet.Eine Einrichtung zum Speichern eines Signalpaares 408 istebenso wie eine Einrichtung 409 zum Speichern eines Umstellungssignalsin Form einer RAM-Zelle ausgeführt. Über einebidirektionale Treiber-Schaltung 410 wird ein Umstellungssignal 458 andie Einrichtung 409 zum Speichern eines Umstellungssignalsbereitgestellt. Das Umstellungssignal 458 wird dabei inein zu speicherndes Umstellungssignal 459 sowie ein dazukomplementäreszu speicherndes Umstellungssignal 460 umgewandelt. DieSignale 459, 460 sind ebenfalls mit der Multiplexer-Schaltung 403 verbunden.In diesem Ausführungsbeispielwerden die zu speichernden Datensignale in Form eines Datensignals 452 undeines dazu komplementärenDatensignals 453 an die Multiplexer-Schaltung 403 bereitgestellt.Entsprechend der Umstellungssignale 459, 460 werden dieDatensignale 452, 453 an sprechend auf ein Lese/Schreib-Signal 484,gemäß der vorliegendenErfindung umgestellt und entsprechend eines Wertes der Umstellungssignale 459, 460 alszu speichernde Signale 463, 465 an die RAM-Zelle 408 bereitgestellt.Die Signalleitungen 463, 465 dienen in diesemAusführungsbeispiel sowohlzum Beschreiben der RAM-Zelle 408 als auch zum Auslesen,der in der RAM-Zelle gespeicherten Informationen. Die rückgewonnenenDatensignale werden von der Multiplexer-Schaltung 403 ebenfallsauf den Datensignalleitungen 452, 453 ausgegeben.Die Multiplexer-Schaltung 403 ist somit in diesem Ausführungsbeispielbi-direktional ausgebildet. Eine zweite Speicherzelle und die dazugehörigen Steuerungensind mit den gleichen Bezugszeichen wie die der ersten Speicherzelle 408 bezeichnetaber durch ein „'" gekennzeichnet. Die zweite Speicherzelle 408' wird von einemdem Umstellungssignal 458 der ersten Speicherzelle 408 entsprechendenaber unabhängigenUmstellungssignal 458' angesteuert.
[0068] DieMultiplexer-Schaltungen 403, 403' ermöglichen wiederum einen Schutzder Signalleitungen 463, 465, 463', 465' gegenüber DPA-Angriffen.Die Signalleitungspaare (463, 465), (463', 465') werden imfolgenden als (bl, blq) bezeichnet und stehen stellvertretend für eine Mehrzahlvon Signalleitungspaaren. Durch eine zufallsgesteuerte Permutationder Bedeutung der Bitleitung bl und deren komplementärer Bitleitungblq eines einzelnen physikalischen Bitleitungspaares in der Multiplexer-Schaltung 403, 403' werden dieLeitungen bl, blq vor einer DPA-Analyse geschützt. Dazu wird ohne Beschränkung derAllgemeinheit angenommen, daß dieBitleitungspaare (bl<n>,blq<n>), bzw. die zugehörigen Datenwörtern (d<n>,dq<n>),die den Datensignalen (452, 453), (452', 453') entsprechen,physikalisch entsprechend ihrer Wertigkeiten angeordnet sind, wobein = w – 1,w – 2,..., 0 gilt und w fürdie Wortweite der Datenwörter(d < n >, dq < n >) steht. Im Layoutsind somit die nächstenNachbarn von Bitleitungspaaren mit geraden n = 2j, solche mit ungeradenn = 2j + 1 sowie n = 2j – 1und umgekehrt. Ausgenommen sind wiederum die höchstwertigen bzw. niedrigwertigenBitleitungspaare mit n = w – 1bzw. n = 0.
[0069] BeimSchreiben und Lesen von Datenwörternd < w – 1:0 > unter einer Adresseadr auf die korrespondierenden Bitleitungspaare (bl < n >, blq < n >) werden nun Datenbitsgerader bzw. ungerader Wertigkeit d < 2j > bzw.d < 2j + 1 > verschieden behandelt.
[0070] Über diemit Mx < n > bezeichneten Multiplexer-Schaltungeninnerhalb der einem Schreib/Lese-Eingang einer RAM Zelle zugeordnetenTreiberschaltung (403, 403') für das betrachtete Bitleitungspaarwerden, abhängigvon einem Zeitpunkt ts eines Schreibvorgangesin eine Speicherzelle geeignet erzeugte bzw. vorliegende Zufallsbitsrndbit-evn(ts) und rndbit-odd(ts),die den Werten des Umstellungssignals 458, 458' entsprechen,die Bitleitungspaare (bl < n >, blq < n >) und mithin die derAdresse adr entsprechenden Speicherzellen wie folgt beschrieben: (bl < n >, blq < n >) < = (d < n >,not (d < n >)) für rndbit – x(ts) = 0; (bl < n >, blq < n >) < = > not(d < n >), d < n >) für rndbit – x(ts)= 1;wobei x = evn fürn = 2j und x = odd fürn = 2j + 1 gilt.
[0071] Zudemwerden die Zufallsbits rndbit – evn(ts) und rndbit – odd(ts)währendeines Schreibvorganges in zwei zusätzliche, der Adresse adr zugeordneteund mit fevn und fodd bezeichnete Speicherzellen 409, 409' geschrieben.
[0072] BeimAuslesen eines Datenwortes aus einer der Adresse adr zugeordnetenSpeicherzelle 408, 408' treibt diese entweder (dadr < n >, not (dadr < n >)) oder (not (dadr < n >) , dadr < n >) auf das Bitleitungspaar(bl < n >, blq < n >), das über dieMul tiplexer-Schaltungen 403, 403', die als bedingte Inverter-Schaltungen bezeichnetwerden können,mit Treibern fürdie Datenausgänge 452, 453 und 452', 453' verbunden ist.Abhängigvon den gleichzeitig ausgelesenen Werten von fevnadr undfoddadr werden die an dem Bitleitungspaar(bl < n >, blq < n >) liegenden Werte entwederinvertiert, fürfevnadr/foddadr =1 oder unverändertgelassen, fürfevnadr/foddadr =0, so daß amAusgang des Multiplexers 403, 403' immer der wahre logische Wertdadr < w – 1:0 > zu liegen kommt.
[0073] Für das beschriebeneAusführungsbeispielgenügtes, nur eine Wortleitung wl < adr > zu verwenden, stattder in 3 angegebenen getrennten Wortleitungen 480, 482 bzw.wlf < adr >, wld < adr > für Flags bzw. Daten. GetrennteWortleitungen 480, 482 werden für das imfolgenden erläuterteAusführungsbeispielbenötigt.
[0074] DiesesAusführungsbeispielergibt sich aus der Anforderung, daß es möglich sein soll, nur einenTeil, wie ein Byte oder Teil eines aus mehreren Bytes bestehendenDatenwortes, zur Adresse adr zu überschreiben, ohneeine Integritätder übrigenTeile des in Frage stehenden Datenwortes anzutasten. In diesem Falledürfen alsodie zu der Adresse adr zugehörigenWerte des Umstellungssignals 458, 458', also fevnadr/foddadr nichtmit Zufallsbits von außerhalbdes Speichers beschrieben werden, da dies den Verlust der übrigen Teiledes in Frage stehenden Datenwortes bedeuten würde. Vielmehr werden fevnadr und foddadr über eineeigenen Wortleitung wlf < adr > 482 zunächst während einesersten Teils eines Schreibzugriffs auf den in Frage stehenden Teildes Datenwortes ausgelesen und die so erhaltenen Werte irgendwannzuvor gespeicherter Zufallsbits steuern die Multiplexer-Schaltungen 403, 403' innerhalb derdem Schreibport zugeordneten Treiber-Schaltungen für die demin Frage stehenden Teil des Datenwortes entsprechenden Bitleitungspaare,und zwar so, daß dieseTreiberschaltungen in einem zweiten Teil des Schreibzugriffs, aufdas in Frage stehenden Teil des Datenwortes nun, entsprechend denWerten von fevnadr/foddadr,die jeweiligen Bitleitungspaare mit den logischen Werten (d < n >, not (d < n >)) oder deren inversen(not (d < n >), d < n >) beschreiben. Hierzuzeitlich versetzt wird die Wortleitung 480 wld < adr > des ganzen Datenworteszur Adresse adr aktiviert, so daß der über die aktiven Treiberschaltungendes Schreib-Ports ausgewählteTeil des Datenwortes überschriebenwird, währenddie den inaktiven Treiberschaltungen des Schreib-Ports korrespondierenden übrigen Teiledes Datenwortes aus den entsprechenden Speicherzellen 408 aufdie mit diesen verbundenen Bitleitungspaare 463, 465 ausgelesen werden.
[0075] Durcheine solche von Zufallsbits abhängigeVertauschung der Rollen von bl und blq beim Schreiben und Lesenvon Datenwörternauf (bl < w – 1:0 >, blq < w – 1:0 >) wird erreicht, daß sich,für eineVielzahl logisch identischer Programmabläufe des Gesamtsystems, einEinfluß kapazitiverUnsymmetrien von bl und blq sowie der Koppelkapazitäten zwischenbl bzw. blq und deren jeweiligen physikalisch benachbarten Leitungenauf das Ladungsintegral der betrachteten Speicherzugriffe im statistischenMittel aufhebt und mithin also die Relevanz dieser kapazitiven Unsymmetrienund Koppelkapazitätenfür DPA-Angriffe eliminiertwird.
[0076] 5 zeigtein weiteres Ausführungsbeispieleiner Vorrichtung zum Speichern eines Signalpaares in Form von sogenanntenMulti-Port Speicherzellen, wie sie für RAMs oder Registerfiles eingesetztwerden. Durch eine zufallsgesteuerte Permutation der Bedeutung einerBitleitung blX und deren komplementärer Bitleitung blXq eines einzelnen,einem Port X einer Speicherzelle entsprechenden physikalischen Bitleitungspaares(blX, blXq) wird die gezeigte Multi-Port Speicherzelle vor DPA-Angriffengeschützt.
[0077] In 5 gezeigteElemente, die bereits in 4 erläutert wurden, sind mit dengleichen Bezugszeichen bezeichnet und werden im folgenden nichtweiter beschrieben. Anstelle der in
[0078] 4 gezeigtenRAM Zellen 408, 408', 409, 409' weist das in 5 gezeigteAusführungsbeispiel Mehrfach-RAM-Zellen 508, 509 auf.
[0079] BeimBeschreiben einer Mehrfachspeicherzelle 508 über einenihrer Schreibeingängeeines Datenwortes mit einer Bitbreite w unter einer Adresse adrwird erfindungsgemäß entwederder logische Wert des Datenwortes d < w – 1: 0 > = [(d < w – 1 >, not (d < w – 1 >)), (d < w – 2 >, not (d < w – 2 >)), ... (d < 0 >, not (d < 0 >)] oder der bitweisekomplementäreWert not (d < w – 1: 0 >) = [(not < d < w – 1 >), d < w – 1 >) , (not (d < w – 2 >), d < w – 2 >), ... (not (d < 0 >), d < 0 >)]über einphysikalisches Bitleitungspaarbündel(463', 465') bzw. (blX < w – 1:0 >, blXq < w – 1:0 >) in die entsprechendeMulti-Port Speicherzelle 508 geschrieben. Dies geschiehtdurch geeignete, mit Mx-X bezeichneten Multiplexer-Schaltungen 403', innerhalbeiner dem Schreibport zugeordneten Treiberschaltung für das betrachteteBitleitungspaar 463', 465'. Dabei entscheidetein zum Zeitpunkt ts des Schreibvorgangesgeeignet erzeugtes bzw. vorliegendes Zufallsbit rndbit(ts) auf dem Umstellungssignal 458', ob dX<w-1:0> oder not(dX<w-1:0>) gespeichert wird.In diesem Ausführungsbeispielwird mit rndbit(ts) = 0 über den Multiplexer 403' der Wert dX<w-1:0> getrieben und in derMehrfachspeicherzelle 508 gespeichert, und mit rndbit(ts) = 1 der Wert not(dX<w-1:0>).
[0080] DerWert des Umstellungssignals 458' rndbit(ts)wird währenddes Schreibvorganges in eine weitere der Adresse adr zugeordneteund mit d < w > bezeichnete Mehrfachspeicherzelle 509 geschrieben.
[0081] BeimAuslesen eines Datenwortes unter der Adresse adr über einender Lese-Ausgängeder Mehrfachspeicherzellen 508, treiben die Leseausgänge zunächst entweder(dadr < w – 1:0 >, not (dadr < w – 1:0 >)) oder (not (dadr < w – 1:0 >) , dadr < w – 1:0 >) auf das Bitleitungspaarbündel (463', 465') bzw. (blX < w – 1:0 >, blXq < w – 1:0 >), das über eineMultiplexer-Schaltung 403' mitden Datensignalleitungen 452', 453' verbunden ist.Abhängigvon dem gleichzeitig ausgelesenen Wert von dadr < w > wird der an den Signalleitungen 463', 465' (blX < w – 1:0 >, blXq < w – 1:0 >) liegende Wert entwederinvertiert (fürdadr < w > = 1) oder unverändert gelassen(für dadr < w > = 0) so daß auf denDatensignalleitungen 452', 453' immer der wahrelogische Wert dadr < w – 1:0 > zu liegen kommt, der dann von einer Empfängerschaltungweiter verarbeitet werden kann.
[0082] Durchdiese von Zufallsbits abhängigeVertauschung der Rollen von blX und blXq beim Schreiben und Lesenvon Datenwörternauf (blX < w – 1:0 >, blXq < w – 1:0 >) wird erreicht, daß sich,für eineVielzahl logisch identischer Programmabläufe des Gesamtsystems, derEinfluß kapazitiverUnsymmetrien von blX und blXq sowie der Koppelkapazitäten zwischenblX bzw. blXq und deren jeweiligen physikalisch benachbarten Leitungenauf das Ladungsintegral der betrachteten Speicherzugriffe im statistischenMittel aufhebt. Mithin wird also die Relevanz dieser kapazitivenUnsymmetrien und Koppelkapazitätenfür DPA-Angriffeeliminiert.
102 Vorrichtungzum Erzeugen eines Signalpaares 104 Vorrichtungzum Erzeugen eines rückgewonnenenDa tensignals 106 Einrichtungzum Erzeugen eines Umstellungssignals 112 ersterDatensignaleingang 114 zweiterDatensignaleingang 116,116' Umstellungssignaleingang 122 ersterSignalausgang 124 ersterKomplementärsignalausgang 126 zweiterSignalausgang 128 zweiterKomplementärsignalausgang 132 ersterSignaleingang 134 zweiterKomplementärsignaleingang 138 zweiterKomplementärsignaleingang 142 ersterDatenausgang 144 zweiterDatenausgang 152 erstesDatensignal 154 zweitesDatensignal 158 Umstellungssignal 162 erstesSignal 164 erstesKomplementärsignal 166 zweitesSignal 168 zweitesKomplementärsignal 172 erstesrückgewonnenesDatensignal 174 zweitesrückgewonnenesDatensignal 202 Vorrichtungzum Erzeugen eines Signalpaares 204 Vorrichtungzum Erzeugen eines rückgewonnenenDa tensignals 208 Einrichtungzur Durchführungeiner Datenpfadopera tion 209 Einrichtungzum Anpassen des Umstellungssignals 252 erstesDatensignal 253 erstesKomplementärsignal 258 Umstellungssignal 259 Datenpfadsteuersignal 258' angepaßtes Umstellungssignal 262 erstesSignal 264 erstesKomplementärsignal 266 Ausgangssignal 268 zweiteskomplementäresAusgangssignal 272 erstesrückgewonnenesDatensignal 273 zweitesrückgewonnenesDatensignal 302 Vorrichtungzum Erzeugen eines Signalpaares 304 Vorrichtungzum Erzeugen eines rückgewonnenenDa tensignals 308 Einrichtungzum Speichern eines Signalpaares 309 Einrichtungzum Speichern eines Umstellungssignals352 erstesDatensignal 358 Umstellungssignal 358' gespeichertesUmstellungssignal 362 erstesSignal 364 erstesKomplementärsignal 366 erstesgespeichertes Signal 368 erstesgespeichertes Komplementärsignal 372 rückgewonnenesDatensignal 403,403' Vorrichtungzum Erzeugen 408,408' Einrichtungzum Speichern eines Signalpaares 409,409' Einrichtungzum Speichern eines Umstellungssignales 410,410' Multiplexer-Schaltung 452,452' Datensignal 453,453' komplementäres Datensignal 458,458' Umstellungssignal 459,459' gespeichertesUmstellungssignal 460,460' gespeichertesKomplementärumstellungssignal 480 Datenzugriffsignal 482 UmstellungssignalZugriffssignal 484 Schreib/Lesesignal 508 Vielfachspeicherfür Daten 509 Vielfachspeicherfür Umstellungssignale 583 erstesZugriffssignal 584 zweitesZugriffssignal A PortA B PortB Z PortZ C PortC 612,614 Transistoren 702,704 Signalleitungspaare 712,714, 716, 718 Kapazitäten 722,724, 726 Koppelkapazitäten
权利要求:
Claims (14)
[1] Vorrichtung (102; 202; 302; 402)zum Erzeugen eines Signalpaares aus einem Datensignal gemäß einer,von einem Umstellungssignalwert abhängigen Umstellungsvorschrift,mit folgenden Merkmalen: einem ersten Datensignaleingang (112)zum Empfangen eines ersten Datensignals (152; 252; 352); einemersten Umstellungssignaleingang (116) zum Empfangen einesersten Umstellungssignals (158; 258; 358; 458); einemersten Signalausgang (122) zum Ausgeben eines ersten Signals(162; 262; 362); und einem erstenKomplementärsignalausgang(124) zum Ausgeben eines ersten Komplementärsignals(164; 264; 364), wobei das erste Signalund das erste Komplementärsignalein erstes Signalpaar bilden; wobei die Vorrichtung zum Erzeugeneines Signalpaares ausgebildet ist, um gemäß der Umstellungsvorschrift daserste Datensignal als erstes Signal und ein komplementäres erstesDatensignal als erstes Komplementärsignal auszugeben, wenn daserste Umstellungssignal einen ersten Wert aufweist, und daserste Datensignal als erstes Komplementärsignal und das komplementäre ersteDatensignal als erstes Signal auszugeben, wenn das erste Umstellungssignaleinen zweiten Wert aufweist.
[2] Vorrichtung zum Erzeugen eines Signalpaares gemäß Anspruch1, die ferner folgende Merkmale aufweist: einen zweiten Datensignaleingangzum Empfangen eines zweiten Datensignals; einen zweiten Umstellungssignaleingangzum Empfangen eines zweiten Umstellungssignals; einen zweitenSignalausgang zum Ausgeben eines zweiten Signals; und einenzweiten Komplementärsignalausgangzum Ausgeben eines zweiten Komplementärsignals; wobei die Vorrichtungzum Erzeugen eines Signalpaares ferner ausgebildet ist, um das zweiteDatensignal als zweites Signal und ein komplementäres zweitesDatensignal als zweites Komplementärsignal auszugeben, wenn daszweite Umstellungssignal den ersten Wert aufweist, und daszweite Datensignal als zweites Komplementärsignal und das komplementäre zweiteDatensignal als zweites Signal auszugeben, wenn das zweite Umstellungssignalden zweiten Wert aufweist.
[3] Vorrichtung (104; 204; 304)zum Erzeugen eines rückgewonnenenDatensignals aus einem Signalpaar gemäß einer, von einem UmstellungssignalwertabhängigenkomplementärenUmstellungsvorschrift, mit folgenden Merkmalen: einem erstenSignaleingang (132) zum Empfangen eines ersten Signals(162; 266; 362); einem ersten Komplementärsignaleingang(134) zum Empfangen eines ersten Komplementärsignals(164; 268; 364) wobei das erste Komplementärsignalkomplementärzu dem ersten Signal ist, und wobei das erste Signal und das ersteKomplementärsignalein erstes Signalpaar bilden; einem ersten Umstellungssignaleingang(116')zum Empfangen eines ersten Umstellungssignals (158; 258; 358);und einem ersten Datensignalausgang (142) zum Ausgebeneines ersten rückgewonnenenDatensignals (172, 272, 372); wobeidie Vorrichtung zum Erzeugen eines rückgewonnenen Datensignals ausgebildetist, um, gemäß der komplementären Umstellungsvorschrift,das erste Signal als erstes rückgewonnenesDatensignal auszugeben, wenn das erste Umstellungssignal einen erstenWert aufweist, und das erste Komplementärsignal als rückgewonnenesDatensignal auszugeben, wenn das erste Umstellungssignal einen zweitenWert aufweist.
[4] Vorrichtung gemäß einemder Ansprüche1 bis 3, die ferner eine Einrichtung (106) zum Erzeugeneines Umstellungssignals aufweist, wobei die Einrichtung zum Erzeugeneines Umstellungssignal ausgebildet ist, um das Umstellungssignal(158) bereitzustellen.
[5] Vorrichtung gemäß Anspruch4, wobei die Einrichtung zum Erzeugen eines Umstellungssignals eine Einrichtungzum zufallsgesteuerten Setzen des Umstellungssignals auf den erstenWert oder den zweiten Wert aufweist.
[6] Vorrichtung gemäß einemder Ansprüche4 bis 5, wobei die Einrichtung zum Erzeugen eines Umstellungssignalseinen Zeitsignaleingang zum zeitgesteuerten Setzen des Umstellungssignalsauf den ersten Wert oder den zweiten Wert aufweist.
[7] Vorrichtung gemäß einemder Ansprüche4 bis 6, wobei die Einrichtung zum Erzeugen eines Umstellungssignalsausgebildet ist, um ein zweites Umstellungssignal zu erzeugen.
[8] Vorrichtung zur Durchführung einer Datenpfadoperation,mit folgenden Merkmalen: einer Vorrichtung (202) zumErzeugen eines Signalpaares gemäß Anspruch1; eine Vorrichtung (204) zum Erzeugen eines rückgewonnenenDatensignals gemäß Anspruch3; einer Einrichtung (208) zum Durchführen einerDatenpfadoperation, die überein eingangsseitiges Signalpaar (262, 264) mitder Vorrichtung zum Erzeugen eines Signalpaares und über einausgangsseitiges Signalpaar (266, 268) mit derVorrichtung zum Erzeugen eines rückgewonnenenDatensignals verbunden ist, und zum Empfangen eines Datenpfadsteuersignals(259) ausgebildet ist, wobei das Datenpfadsteuersignaleine an dem ersten Signalpaar (262, 264) durchzuführende Datenpfadoperationdefiniert; eine Einrichtung (209) zum Anpassen desUmstellungssignals, wobei die Einrichtung zum Anpassen des Umstellungssignalsmit dem Umstellungssignal (258) und dem Datenpfadsteuersignalverbunden ist, und ausgebildet ist, um ein an die DatenpfadoperationangepaßtesUmstellungssignal (258')an die Vorrichtung (204) zum Erzeugen eines rückgewonnenenDatensignals bereitzustellen.
[9] Vorrichtung zur Durchführung einer Datenpfadoperationgemäß Anspruch8, wobei die Einrichtung zum Durchführen einer Datenpfadoperationeine Schiebeeinheit ist und das Datenpfadsteuersignal einen Schiebewertbereitstellt, und wobei die Schiebeeinheit über eine Mehrzahl von eingangsseitigenSignalpaaren (slin, slqin) mit der Vorrichtung zum Erzeugen einesSignalpaares verbunden ist, und die Mehrzahl von eingangsseitigenSignalpaaren (slin, slqin) entsprechend dem Schiebewert einer Mehrzahlvon ausgangsseitigen Signalpaaren (slout, slqout) zuordnet, über diedie Einrichtung zum Durchführeneiner Datenpfadoperation mit der Vorrichtung zum Erzeugen einesrückgewonnenenDatensignals verbunden ist.
[10] Vorrichtung zum Speichern eines Signalpaares, mitfolgenden Merkmalen: einer Vorrichtung (302) zum Erzeugeneines Signalpaares gemäß Anspruch1; einer Vorrichtung (304) zum Erzeugen eines rückgewonnenenDatensignals gemäß Anspruch3; eine Einrichtung (308) zum Speichern eines Signalpaares,die ausgebildet ist um, das von der Vorrichtung zum Erzeugen einesSignalpaares erzeugte Signalpaar (362, 364) zuspeichern; und eine Einrichtung (309) zum Speicherneines Umstellungssignalwerts, die ausgebildet ist, um einen Wertdes Umstellungssignals (358) zu speichern und an die Vorrichtung(304) zum Erzeugen eines rückgewonnenen Datensignals bereitzustellen,wenn das erste Signalpaar aus der Einrichtung (308) zumSpeichern eines Signalpaares ausgelesen wird.
[11] Vorrichtung zum Speichern eines Signalpaares gemäß Anspruch10, wobei die Einrichtung zum Speichern eines Signalpaares eineSingle-Port Speicherzelle (408, 408') ist.
[12] Vorrichtung zum Speichern eines Signalpaares gemäß Anspruch11, wobei die Einrichtung zum Speichern eines Signalpaares eineMulti-Port Speicherzelle (508) ist.
[13] Vorrichtung gemäß einemder Ansprüche1 bis 12, wobei die Signalpaare (162, 164; 262, 264, 266, 268; 362, 364; 463, 465)in Dual-Rail Technik implementiert sind.
[14] Vorrichtung gemäß einemder Ansprüche1 bis 13, die ferner eine Einrichtung zum Vorladen der Signalpaare(162, 164; 262, 264, 266, 268; 362, 364; 463, 465)auf einen definierten Vorladezustand aufweist.
类似技术:
公开号 | 公开日 | 专利标题
KR101954542B1|2019-03-05|센싱 회로부를 이용한 로직 연산들 수행
US9898253B2|2018-02-20|Division operations on variable length elements in memory
US10580484B2|2020-03-03|Semiconductor integrated circuit device
US10559347B2|2020-02-11|Processing in memory | capable memory device having timing circuitry to control timing of operations
US7869249B2|2011-01-11|Complementary bit PCRAM sense amplifier and method of operation
US5276643A|1994-01-04|Integrated semiconductor circuit
US5754486A|1998-05-19|Self-test circuit for memory integrated circuits
EP0978842B1|2005-02-09|Synchrone Burstzugriffshalbleiterspeicheranordnung
US4757477A|1988-07-12|Dual-port semiconductor memory device
US7630230B2|2009-12-08|Static random access memory architecture
US6636444B2|2003-10-21|Semiconductor memory device having improved data transfer rate without providing a register for holding write data
DE4110173C2|1996-04-11|Adressenansteuereinrichtung für einen SRAM und Verfahren zum Betreiben derselben
JP3065736B2|2000-07-17|半導体記憶装置
JP2777603B2|1998-07-23|2値論理レベルの電気的検出装置
CN102656639B|2016-06-01|通过使用感测放大器作为写驱动器的减小面积的存储器阵列
US7483327B2|2009-01-27|Apparatus and method for adjusting an operating parameter of an integrated circuit
US7555787B2|2009-06-30|IC intrusion detection
US6940739B2|2005-09-06|Semiconductor memory device
DE3928410C2|1991-11-07|
TW408327B|2000-10-11|A low latency dram cell and method therefor
US6771543B2|2004-08-03|Precharging scheme for reading a memory cell
US6856527B1|2005-02-15|Multi-compare content addressable memory cell
US6870788B2|2005-03-22|Semiconductor memory having a plurality of word lines shared by adjacent local block
US6707708B1|2004-03-16|Static random access memory with symmetric leakage-compensated bit line
JP2775549B2|1998-07-16|連想メモリセルおよび連想メモリ回路
同族专利:
公开号 | 公开日
DE102004001235B4|2005-12-15|
引用文献:
公开号 | 申请日 | 公开日 | 申请人 | 专利标题
法律状态:
2005-08-11| OP8| Request for examination as to paragraph 44 patent law|
2006-06-08| 8364| No opposition during term of opposition|
优先权:
申请号 | 申请日 | 专利标题
DE102004063898A|DE102004063898B9|2004-01-07|2004-01-07|transfer device|
DE200410001235|DE102004001235B4|2004-01-07|2004-01-07|Übertragungsvorrichtung|DE102004063898A| DE102004063898B9|2004-01-07|2004-01-07|transfer device|
DE200410001235| DE102004001235B4|2004-01-07|2004-01-07|Übertragungsvorrichtung|
US11/022,278| US7161869B2|2004-01-07|2004-12-23|Transmission device|
FR0500102A| FR2864872B1|2004-01-07|2005-01-06|Dispositif d'emission|
FR0806861A| FR2925964B1|2004-01-07|2008-12-08|Dispositif d'emission|
[返回顶部]